Synchronizing filter metadata with a multimedia presentation

ABSTRACT

A method, system and apparatus for applying and synchronizing filter information with a multimedia presentation, such as a movie provided in a video-on-demand context, to suppress objectionable content. In one example, filter information, which includes an indicia of a portion of the multimedia presentation including objectionable content and a type of suppression action, is provided on either a set-top-box or a video-on-demand server. A user selects a particular video-on-demand presentation, and the selection is transmitted to the set-top-box. Additionally, whether in a video-on-demand, DVD, or other environment it may be necessary to synchronize filter with the multimedia content so that the proper objectionable content is suppressed.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of and claims priority to U.S.Nonprovisional patent application Ser. No. 16/025,921 filed Jul. 2, 2018entitled “Synchronizing Filter Metadata with a Multimedia Presentation”,now U.S. Pat. No. 11,616,819 issued Mar. 28, 2023, which is acontinuation of U.S. Nonprovisional patent application Ser. No.14/692,023 filed Apr. 21, 2015 entitled “Synchronizing Filter Metadatawith a Multimedia Presentation”, which is a continuation of U.S.Nonprovisional patent application Ser. No. 11/669,138 filed Jan. 30,2007 entitled “Synchronizing Filter Metadata with a MultimediaPresentation”, now U.S. Pat. No. 9,015,571 issued Apr. 21, 2015, whichclaims priority under 25 U.S.C. § 119(e) to U.S. Provisional PatentApplication No. 60/763,525 filed Jan. 30, 2006 entitled “Filtering aMultimedia Presentation in a Video On Demand Environment”, and to U.S.Provisional Patent Application No. 60/785,547 filed Mar. 24, 2006entitled “Synchronizing Filter Meta-data with a MultimediaPresentation”. Each of the above-referenced applications areincorporated by reference herein in their entirety.

FIELD OF THE INVENTION

Aspects of the present invention generally involve a system, method,apparatus, and computer program products for suppressing or “filtering”certain multimedia content. One particular aspect of the presentinvention involves filtering multimedia content in a video on demandenvironment. Another particular aspect of the present invention involvessynchronizing filter information with multimedia content irrespective ofthe environment.

BACKGROUND

Video-on-demand, pay-per-view and other movies and multimedia contentpresentations that are transmitted to a client device, such as a cableor satellite set-top-box, a personal computer or the like or read from aremovable storage media, such as a CD, DVD or the like, often containsome content, whether audio, video, embedded links, etc., that isinappropriate for some audiences or simply undesirable for someaudiences. For example, it is well known that some multimediapresentations, whether music on a CD, a movie on DVD, various televisionchannels, etc., can contain language and explicit content not suitablefor children. Thus, it would be useful for a parent to be able tosuppress the unsuitable content, while still allowing their children toview the non-objectionable portions of the presentation. It would alsobe useful for others to be able to suppress certain content they maypersonally find undesirable, but still be able to view and/or listen tocertain multimedia content presentations. Such usefulness would beparticularly beneficial in video-on-demand and other similar contentprovisions platforms where suitable filtering applications are notpresently widely available. Such usefulness would also be particularlybeneficial if the suppression is accurately synchronized with thepresentations to minimize the suppression of non-objectionable content.

SUMMARY

One aspect of the present invention involves a method for suppressingsome multimedia content of a multimedia content presentation suppliedfrom a remote server to a client multimedia content playback device. Themethod comprises providing for selection of at least one multimediacontent presentation from a plurality of multimedia contentpresentations. The method further comprises providing for activation ofat least one filter to apply to the at least one multimedia contentpresentation, the at least one filter configured to identify a portionof the multimedia content presentation having objectionable content andfurther configured to implement content suppression of the objectionablecontent. Additionally, the method comprises providing for communicationof the multimedia content presentation between the remote content serverand the client device. Finally, the method comprises providing forapplying the at least one filter to the multimedia content presentationto suppress the objectionable content identified in the at least onefilter.

Another aspect of the present invention involves a method for applyingand synchronizing multimedia content filter data with a multimediacontent presentation. The method comprises receiving filter datacomprising at least one filter configured to identify a portion of amultimedia content presentation having objectionable content and furtherconfigured to implement content suppression of the objectionablecontent. Further, the method comprises providing for presentation of themultimedia content presentation, the multimedia content presentationhaving objectionable content identified in the at least one filter.Finally, the method comprises obtaining synchronization information tosynchronize the at least one filter with the objectionable content whena location of the portion of the multimedia content presentation mayvary.

Another aspect of the present invention involves a method forsuppressing some multimedia content of a multimedia content presentationsupplied from a remote server to a client multimedia content playbackdevice. The method comprises receiving a selection of at least onemultimedia content presentation from a plurality of multimedia contentpresentations. Additionally, the method comprises transmitting filtermetadata to the client device, the filter metadata including at leastone filter configured to identify a portion of the multimedia contentpresentation having objectionable content and further configured toimplement content suppression of the objectionable content. Finally, themethod comprises transmitting the multimedia content presentation fromthe remote content server to the client device such that application ofthe filter metadata to the multimedia content presentation will suppressthe objectionable content identified in the filter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart illustrating one method of suppressingobjectionable content from a video-on-demand presentation conforming toone particular implementation of the present invention;

FIGS. 2A and 2B are a flowchart illustrating a second method ofsuppressing objectionable content from a video-on-demand presentationconforming to one particular implementation of the present invention;

FIGS. 3A and 3B are a flowchart illustrating a third method ofsuppressing objectionable content from a video-on-demand presentationconforming to one particular implementation of the present invention;

FIGS. 4A and 4B are a flowchart illustrating a fourth method ofsuppressing objectionable content from a video-on-demand presentationconforming to one particular implementation of the present invention;

FIG. 5 is a diagram illustrating a portion of MPEG encoded data andillustrating content suppression related thereto in conformance with oneparticular implementation of the present invention;

FIG. 6 is a diagram illustrating the relationship between certain typesof MPEG encoded frames;

FIGS. 7A and 7B are a flowchart illustrating a fifth method ofsuppressing objectionable content from a video-on-demand presentationconforming to one particular implementation of the present invention;

FIGS. 8A and 8B are a flowchart illustrating a sixth method ofsuppressing objectionable content from a video-on-demand presentationconforming to one particular implementation of the present invention;

FIGS. 9-9D illustrate various method for synchronization of contentsuppression filters and a multimedia presentation conforming to variousimplementations of the present invention; and

FIG. 10 is a graph illustrating various audio techniques applicable tosynchronization of content suppression filters with a multimediapresentation.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Aspects of the present invention generally involve the suppression ofcertain content in a multimedia presentation. The multimediapresentation may come from various possible sources, including digitalvideo disc (DVD), video-on-demand (VOD), streaming video, variousoptical and magnetic storage media, pay-per-view, etc., and may be invarious possible encoding and digitization forms, including variousMoving Picture Experts Group (MPEG) coding formats, QuickTime, variousstreaming formats, and the like. The suppression may take on variousforms, including skipping certain portions of the multimediapresentation, muting audio portions, cropping portions of scene,blurring the image, etc. The identification of portions of a multimediapresentation possibly subject to suppression may be implemented withfilters that identify some portion of a multimedia presentation andidentify the type of possible suppression actions that may be appliedagainst the multimedia presentation. A filtering application acceptsuser filter activations and then synchronizes the filters with themultimedia presentation. When a portion of the multimedia presentationsubject to an activated filter is identified the appropriate suppressionaction or actions are taken.

With VOD technology there are generally two hardware environments thatcommunicate with each other: 1) a multimedia content server and 2) themultimedia content set-top box (STB). FIG. 1 is a flowchart illustratingvarious operations 10-110 associated with an interaction between a VODserver and a STB whereby a user may select some form of multimediapresentation and the presentation is delivered to the STB forpresentation. In the particular example set forth in FIG. 1 as well asother drawings set forth herein, the multimedia is compressed or encodedaudio and video (e.g., a movie), such as through a Moving PictureExperts Group (“MPEG”) coding formats. The STB receives the compresseddata and processes it for display with some content suppressed inaccordance with filter settings.

Now, with respect to FIG. 1 , multimedia content, such as a VOD movieincluding audio and video content, is stored on or in association with amultimedia content server, such as VOD server (operation 10). The STBand the content server communicate such that available multimediacontent is presented to the user, such as by providing on-screen menuslisting all available VOD titles, which may be organized by genre(horror, action, children, action, etc.) or in other ways (operations 20and 30). The STB provides a user interface to select or purchase anyparticular multimedia content or perhaps a collection of content(operation 40). In some instances a provider may provide some contentfree of charge and in other instances the service provider charges afee. Typically, the fee is automatically applied to a monthly bill, butin other instances a phone system (e.g., a user must call in to order amovie and a signal is transmitted to the STB) or on-screen directpayment interface may be required (e.g., a user must affirmatively entercredit card information). A user then selects a particular title(operation 50) and the STB communicates with the content server that theuser has selected the title (operation 60). Upon receipt of the contentselection, the server initiates delivery of the content (operation 70)and the server begins to transmit the content to the STB (operation 80).In some particular VOD configurations, the server delivers compressedpackets of data in the form of MPEG Groups of Pictures (GOP), which isdiscussed in greater detail below. The server receives the packets(operation 90) and begins to decompress the packets (100). In accordancewith aspects of the present invention, certain objectionable portions ofthe content may be suppressed according to filter settings selected bythe user, such that the data is displayed with the objectionable contentsuppressed (operation 110).

Aspects of the present invention involve systems, methods, apparatus,and computer program products that filter various forms of content fromthe multimedia presentation supplied in a video on demand environment.FIGS. 2A and 2B are a flowchart illustrating one particular method forfacilitating filtered playback of a VOD presentation. The operations setforth in FIGS. 2A-2B (collectively “FIG. 2 ”) include the sameoperations 10-110 set forth in FIG. 1 . Additionally, FIG. 2 includesoperations A-D. First, operation A provides a user with an inputmechanism to choose types of content to filter. One example of an inputmechanism in the form of an on-screen selection menu is set forth inU.S. patent application Ser. No. 11/104,924 titled “Apparatus, System,and Method for Filtering Objectionable Portions of MultimediaPresentation,” filed on Apr. 12, 2005 (the '924 application), which ishereby incorporated by reference herein. The filter settings may bestored on the STB, the server, or elsewhere. Thus, for example, the usercould access a filter selection menu on a third computing platform, suchas a PC. The filter settings are then made available to the STB foroperation C (described below). For example, the filter settings could beentered on a computer and sent to the server or STB via a networkconnection therebetween. In any of the embodiments discussed herein,filter selections may be made before or after the selection of thevideo-on-demand presentation. Accordingly, in some implementations whereall possible filter types may not be available for a certain movie,e.g., a particularly violent movie has all possible violence filtertypes, but the movie has no sex or nudity therefore there are no sex ornudity filter types, only a subset of filter types may be presented tothe user for activation.

The '924 application further provides various examples of content filtercategories. For example, through an on-screen menu, the user mayactivate a strong action violence filter type and a brutal/gory violencefilter type. Subsequently, during presentation of the video-on-demandmovie, audio, video, or both associated with scenes having strong actionviolence or brutal/gory violence will be suppressed, which may involveskipping the scene entirely, blurring some or all of the movie forperiod of time of the scene, cropping portions of the movie to removeimage portions, and/or muting some or all of the audio.

Second, the server transmits a filter metadata file to the STB(operation B) and the STB receives and stores the metadata (operationC). It is possible to transmit filters to the STB at any time. Moreover,it is also possible to transmit more than one set of filters (i.e.,filter files for more than one multimedia presentation). Thus, in someinstances, the STB will be configured to determine whether filters for agiven movie have already been loaded into the set-top-box. With respectto transmission of the metadata filter files from the content server,the metadata transmission may be done automatically with all VODrequests. Alternatively, the metadata may be sent based upon someencoding transmitted with the initial VOD request (operation 60). Forexample, through the on-screen filter selection menu or a dedicated menuor menu button, the VOD request may include data or some other form ofinformation that triggers the transmission of the filter metadata file.Although shown in FIG. 2 as coming from the server, the metadata that issent to the STB does not necessarily come from the server. The metadatamay be retrieved or transmitted directly or indirectly from removablememory, a network (e.g., Internet) connection, and other forms of datatransfer. Additionally, the metadata may be transmitted to the STB anytime before commencement of filtered presentation of the multimediapresentation.

In one particular implementation, the filter metadata file may includefilter information as set forth in the '924 application. Generally, thefilter information includes some indicia of a start time and end time ofa portion of a multimedia presentation along with the type of contentset forth between the start and end time. For example, between 5 minutesand 5 minutes and 20 seconds, a certain film may have strong actionviolence. The metadata will include information related or associatedwith the start time (5 minutes), the end time (5 min. 20 sec.) andstrong action violence. If the user activates the strong action violencefilter, when the playback reaches the 5 minute time of the movie, thenext 20 seconds are suppressed. Finally, playback of the VOD movie maybe filtered as a function of the users filter settings and the metadata(operation D).

One advantage, amongst many, of the method set forth in FIG. 2 is thatthe filtering logic takes place on the STB side. This means that theserver will send the entire multimedia content, e.g., all of the data toplay the movie “Field of Dreams,” and specific visual and/or audibleportions of the multimedia content will be suppressed or “filtered” fromthe presentation on the STB side. Another advantage of the method setforth in FIG. 2 is that the entire content may be stored on the STB(e.g. on a hard-drive or a recordable optical disc). This would allowsubsequent playback where the user could choose to view the entiremultimedia without any filtering, or the user could view the multimediawith different filter settings. This method would also work well for asatellite transmission to a STB where the satellite is broadcasting aVOD movie to several STBs and the satellite can't provide individualizedfiltering for a single STB within its footprint. These advantages aswell as others set forth herein are merely set forth herein to providesome practical context for better understanding of various embodimentsand are not meant to limit the scope of the invention. Variousembodiments may or may not achieve the various advantages set forthherein.

FIGS. 3A-3B are a flowchart illustrating an alternative method forfacilitating filtered playback of a video on demand presentation. Theoperations set forth in FIGS. 3A-3B (collectively “FIG. 3 ”) include thesame operations 10-110 set forth in FIG. 1 . Additionally, FIG. 3includes operations A1-D. Like operation A in FIG. 2 , through some formof input mechanism, the user may activate some or all available filtertypes (operation AI). The user filter activations or settings are thentransmitted and stored on the server (operation A2). When the userselects a particular VOD presentation other than multimedia content, theserver compares the user filter settings with filter metadata for theselected VOD presentation (operation B1). The comparison operationresults in a metadata file configured to filter the selected content.Thus, unlike the method set forth in FIG. 2 that transmits all filtermetadata for the selected VOD presentation, the filter metadata is asubset of all filter metadata, only including filter metadata accordingto the users filter selections. The metadata file is then transmitted tothe STB (operation C).

The metadata file for the method set forth in FIG. 2 includes allpossible filtering options for a particular multimedia presentation. Atthe STB, the filter settings are applied to the metadata resulting infiltering of selected content. With the method set forth in FIG. 3 , theuser settings are applied to the filter metadata on the server side(operation B1). This enables the server to conform the filter metadatato the user settings before sending the filter metadata to the STB(operation B2). One advantage of this method is that the memory size ofthe metadata file stored in the STB (operation C, FIG. 3 ) ispotentially smaller then if the entire filter metadata is stored on theSTB (operation C, FIG. 2 ). Further, it may be advantageous to configurethe filter metadata with the user settings on the server if the end-userhas multiple STBs in their household. This way they can have the samefiltered presentation on multiple STB in their household without havingto enter their filter settings redundantly on each STB.

With the implementations set forth with respect to FIGS. 2 and 3 , it ispossible to initiate filtered playback at the STB moments after thebeginning portion of the VOD file has been transferred. Depending on thebandwidth of the connection between the server and the STB, the transferof the VOD file can be potentially faster than the playback duration ofthe same file.

In a first example, Movie X may have only three total filters associatedwith it. The three filters may each be a skip with: filter 1 having askip with a 20 second duration, filter 2 having a skip with a 10 secondduration, and filter 3 having a skip with a 15 second duration. Thethree filters thus have a cumulative 45 seconds of skip duration.Accordingly, the end-user could initiate playback on the STB after 45seconds of the VOD file have been transferred from the server to theSTB.

In a second example, Movie Y has a single associated filter with a skiphaving a 20 second duration and it starts 2 minutes into the movie. IfMovie Y is one hour long, and it takes 30 minutes to transfer the entirefile for Movie Y from the server to the STB, the user could potentiallystart filtered playback of Movie Y concurrently with the initiation ofthe transfer of the VOD file from the server to the STB—if the filetransfer rate was fast enough that by the time the viewer was 2 minutesinto the movie the transfer of the movie file was at least 20 secondsahead of the playback time.

For any of the methods set forth herein, various possible alternativemethods may be achieved by combining various operations from the variousmethods set forth herein. For example, operations AI and A2 of themethod set forth in FIG. 3 may be applied to the method set forth inFIG. 2 . In other words it would be possible for the user filtersettings to be stored on the server side in the method of FIG. 2 .

FIGS. 4A-4B are a flowchart illustrating an alternative method forfacilitating filtered playback of a VOD presentation. The operations setforth in FIGS. 4A-4B (collectively “FIG. 4 ”) include the sameoperations 10-110 set forth in FIG. 1 . Additionally, FIG. 4 includesoperations A1-D3. Like operation A in FIG. 2 , through some form ofinput mechanism, the user may activate some or all available filtertypes (operation AI). Similar to the method set forth in FIG. 2 , theserver transmits a filter metadata file to the STB (operation B) and theSTB receives and stores the metadata (operation C).

At the STB, the filter settings are compared with the metadata for aselected VOD presentation. The STB then instructs the server to onlysend multimedia data corresponding to non-filtered multimedia data.Stated another way, the STB requests a stream of multimedia data fromthe server that pre-suppresses some or all content associated withactivated filters. Thus, for example, the VOD data from the server willnot contain most or all portions of scenes with strong action violence(if activated).

In the particular implementation of FIG. 4 , some of the multimediacontent is filtered on the server side (i.e. never gets sent to theSTB). However, the server sends data, i.e., picture information, that isgoing to be filtered by the STB because often the smallest unit ofmultimedia data is an MPEG Group of Pictures (GOP) and a single GOP cancontain multimedia content that is both filtered and non-filtered duringpresentation from the STB. Thus, in operation D2, the server sequencesGOPs containing non-filtered data. The GOPs may, however, include someportions of content intended for filtering. The sequence of GOPs aretransmitted to the STB, which receives and decompresses the data intosmaller playback units (operations 80100). The STB then analyzes thesmaller playback units for filtered content and eliminates the remainingdata associated with the filtered content. Because of the nature ofmotion compression, some of the multimedia data that gets filtered isrequired by the MPEG decoder on the STB to generate some of thenon-filtered multimedia data.

FIG. 5 is an example of a sequence of MPEG Group of Picture packets andof associated filter start and end time coding and other information.The content between the start and end time code, in this example, isintended to be skipped (not shown), a form of suppression. The starttime code falls within GOP#N+1 and the end time code falls withinGOP#N+P. With reference to FIG. 5 and in relation to operations D1-D3,the server would deliver [GOP #N] and [GOP #N+1] and [GOP #N+P] and [GOP#N+P+1] to the STB. The server would not deliver any packets between[GOP #N+1] and [GOP #N+P] (i.e. the server would not deliver [GOP #N+2], [GOP #N+3] , [GOP #N+4] , etc.). At the STB, during the decodingprocess, when the STB decoded [GOP #N+1] it would drop all multimediadata that came after “X-Frames”. During the decoding process, when theSTB decoded [GOP #N+P] it would drop all multimedia data labeled as“Y-Frames”.

The STB may still require the presence of some of the “Y-Frames” data togenerate the frames that occur after the “Y-Frames”. For example, in theMPEG frame sequence set forth in FIG. 6 , the “B-Frame” requires boththe “I-Frame” and the “P-Frame” to generate the “B-Frame”. So if theI-Frame is filtered from playback and the B and P frames are notfiltered from playback, the STB still needs the I-frame from the serverto be able to generate both the B and P frames.

FIGS. 7A-7B are a flowchart illustrating an alternative method forfacilitating filtered playback of a video on demand presentation. Aswith some earlier described methods, the operations set forth in FIGS.7A-7B (collectively “FIG. 7 ”) include the same operations 10-110 setforth in FIG. 1 . Additionally, FIG. 7 includes operations A1-D3.Through some form of input mechanism (as described above), the user mayactivate some or all available filter types (operation AI). The userfilter activations or settings are then transmitted and stored on theserver (operation A2). The method set forth in FIG. 7 does not sendfilter metadata to the STB. Rather, the user settings and the filtermetadata are conformed on the server side (operation B), and the GOPsare sequenced on the server side (operation D2). The GOP sequence isthen transmitted to the STB, where it is received and decompressed intosmaller playback units (operations 80-100). Then, like described above,the STB parses the filtered portions of a GOP from the non-filteredportions of a GOP (operation D3). This can be done by imbedding orassociating the start location of the non-filtered portions of the GOPin the GOP.

Referring again to FIG. 5 , for example, if, X-Frames=5 and Y-Frames=9,then:

When [GOP #N+1] is sent to the STB it could be associated with the value5. This would indicate to the STB that only the first 5 frames should bedisplayed in the presentation.

When [GOP #N+P] is sent to the STB it would be associated with the value9. This would indicate to the STB that the first 9 frames should not bedisplayed in the presentation.

There are many ways to indicate to the STB which frames of a GOP shouldultimately be displayed during the presentation. The above example issimply to show that only a single numeric value needs to be associatedwith the GOPs that contain both multimedia portions that should befiltered and multimedia portions should not be filtered.

FIGS. 8A-8B are a flowchart illustrating an alternative method forfacilitating filtered playback of a VOD presentation. As with someearlier described methods, the operations set forth in FIGS. 8A-8B(collectively “FIG. 8 ”) include the same operations 10-110 set forth inFIG. 1 . Additionally, FIG. 8 includes operations A1-D3.2. Through someform of input mechanism (as described above), the user may activate someor all available filter types (operation AI). The user filteractivations or settings are then transmitted and stored on the server(operation A2). The method set forth in FIG. 8 , like FIG. 7 , does notsend filter metadata to the STB. Rather, the user settings and thefilter metadata are conformed on the server side (operation B), and theGOPs are sequenced on the server side (operation D2).

Unlike the method set forth in FIG. 7 , the server only sendsnon-filtered portions of the multimedia content to the STB. This is doneby decoding the GOPs that have both filtered portions of multimedia andnon-filtered portions of multimedia (Step D3.1) and then re-encoding thedata so that the new compressed multimedia packet only containsnon-filtered multimedia data (Step D3.2). It is also possible at thetime of the original compression of the multimedia content to make surethat the content is compressed in a manner that is compatible withfiltering. In other words, at the time of authoring, the authoringprocess would take the filtering metadata into consideration and makesure that affected portions of the multimedia that can be filtered arealready broken into packets that can be sequenced so that filteredcontent is never sent to the STB. The encoded and completely filteredpresentation data is then transmitted to the STB (operation 80). Oneadvantage of this method is that all the filtering logic can take placeon the server side.

In one implementation, filter metadata includes a filter table ofindividual filters for a particular multimedia presentation. Each filterincludes an identification of a portion of a multimedia presentation anda corresponding filtering action. The filtering action, as mentionedabove, involves some form of content suppression, whether skipping,blurring, cropping, and/or muting portions of the multimediapresentations. The portion of the multimedia presentation subject tosuppression may be identified by a start and end time code, by a time orlocation and an offset value, and through other multimedia relativeidentification means that provide for accurate identification of somediscrete portion of a multimedia presentation. Table 1 below providestwo examples of filters for the movie “Gladiator”. The filter metadatafor any particular multimedia presentation may include any number ofdiscrete filters, filter types, and may be for one particular title or aplurality of titles.

TABLE 1 Filter Metadata with example of two Filters for the FilmGladiator Filter Filter Start End Duration Action Filter Codes 100:04:15:19 00:04:48:26 997 Skip 2: V-D-D, V-D-G 2 00:04:51:2600:04:58:26 210 Skip 1: V-D-G

Referring to Table 1, the first filter (1) has a start time of00:04:15:19 (hour:minute:second:frame) and an end time of 00:04:48:26.The first filter further has a duration of 997 frames and is a “skip”type filtering action (as opposed to a mute or other type ofsuppression). Finally, the first filter is associated with two filtertypes. The first filter type is identified as “V-D-D”, which is a filtercode for a violent (V) scene in which a dead (D) or decomposed (D) bodyis shown. The second filter type is identified as “V-D-G”, which is afilter code for a violent (V) scene associated with disturbing (D)and/or gruesome (G) imagery and/or dialogue. Implementations of thepresent invention may include numerous other filter types. Duringfiltered playback of the film “Gladiator,” if the “V-D-D”, “V-D-G,” orboth filters are activated, the 997 frames falling between 00:04:15:19and 00:04:48:26 are skipped (not shown). Additionally, if the V-D-Gfilter file is activated, the 210 frames falling between 00:04:51:26 and00:04:58:26 are skipped.

For proper filtering of a multimedia presentation, the filter time codeinformation should be synchronized or otherwise related with the properportion of the multimedia presentation. For example, if the filter timecode information was established in a DVD multimedia environment with aknown and repeatable start of the multimedia presentation, the start andend time code may be reliably based on the start of the multimediapresentation. Moreover, DVD provides time codes within the multimediadata. Thus, a filter start time of 04:15:19 relates to 4 minutes, 15seconds, and 19 frames from the start of the multimedia presentation. AVOD presentation of the same multimedia presentation, however, may nothave the same start time. For example, the VOD presentation may includecommercials, movie trailers, and any number of other possible forms ofmultimedia that precede the primary multimedia presentation. Moreover,different VOD presentations may include different preceding multimedia.In such situations, the start of the primary multimedia presentationwould be at some time after the start of the VOD presentation. Moreover,the start of the primary multimedia presentation may vary, depending onthe VOD provider and other factors. In such a situation, it may benecessary to synchronize the metadata timing information with themultimedia presentation so that the filter actions are applied to theappropriate portion of the multimedia.

FIG. 9 is a flowchart illustrating an overall method of filtering a VODor other multimedia presentation that involves synchronization ofmultimedia data with the multimedia presentation. First, a user selectsa multimedia presentation for presentation on a presentation device,such as a set-top box accessing multimedia from cable or satellitesources (operation 200). With respect to a VOD presentation, the usermay access an on-screen menu and select one or a plurality of possibleVODs. Second, as discussed with respect to various implementation abovewith regard to FIGS. 1-8 , the presentation device accesses filtermetadata for the selected multimedia presentation (operation 210).Third, the user activates one or more of various possible filter typesto apply to the multimedia presentation during presentation (operation220). During presentation, the filter metadata is synchronized with themultimedia presentation so that any suppression actions defined byparticular filters are applied to the appropriate portion of themultimedia presentation (operations 230 and 240). FIGS. 9A-9D providesome examples of methods for synchronizing the filter metadata, inaccordance with aspects of the invention.

Generally speaking, in a VOD environment or other environment it ispossible to provide a discrete multimedia presentation file with a knownstarting point. In such a situation, filtering based on relative time(filters such as shown in Table 1 above with start and end timeinformation) may be employed. As such, synchronization may involveidentifying the start of the VOD presentation and timing thepresentation from that point forward. Since the start time is known andrepeatable, synchronization involves identifying the beginning of theVOD, pay-per-view, or other multimedia presentation.

In one particular implementation, synchronization is achieved byadjusting the start and end time values according to a relative timeoffset between the start of the overall VOD presentation and the startof the multimedia presentation portion of the VOD presentation. FIG. 9Aprovides one example of a method for adjusting the filter start and endtimes in order to synchronize the filter metadata with a VODpresentation. First, an offset time between the start of an overall VODpresentation (e.g., the start of the VOD data feed, which may includetrailers, etc.) and the multimedia content portion (e.g., the start ofthe actual movie) is determined (operation 250). For example, if theprimary multimedia presentation begins 5 minutes after the start of theVOD presentation, then the relative time offset is 5 minutes. The startand end time codes may then be adjusted from the offset time (operation260). Thus, the start and end time codes for each filter may be adjustedby 5 minutes. Referring again to table 1, for filter 1, the start timeis adjusted as 00:04:15:19 (base start time)+00:05:00:00(offset)=00:09:15:19 (adjusted start time), and the end time is adjustedas 00:04:48:26 (base end time)+00:05:00:00 (offset)=00:09:48:26(adjusted end time). The timing offset value may be determined in anynumber of ways. In one implementation, the preceding VOD multimedia isanalyzed to determine its time length. The analysis may includeanalyzing a software module to count MPEG frames, assessing integratedtiming information, running a timer against the multimedia and otherpossible means for assessing the timing offset. The time is thenconverted to an offset value and applied to the filter metadata. Inanother implementation, the VOD provider may provide the offsetinformation, which is applied to the filter metadata. For example, theVOD provider may transmit the offset identifier to the STB along withthe filter metadata, and the STB may then filter time entry by theoffset.

In a second implementation, the filter metadata may includesynchronization data that is used to synchronize the metadata with themultimedia presentation. FIG. 9B provides one example of a method forsynchronizing filter metadata with a VOD presentation by embeddingunique non-time based identifiers into the metadata and comparing it toattributes of the VOD presentation. The synchronization data may involveany unique and detectable aspect of the multimedia presentation. Forexample, the synchronization data may involve image data, audio data,and extended data services, such as close captioning data, associatedwith the beginning or some other known portion of the multimediapresentation from which the relative location of discrete portions ofthe multimedia presentation may be accurately identified (operation270). The synchronization data may involve one unique attribute orcombinations of unique attributes. For example, synchronization data mayinvolve only image data or may be a combination of image data and audiodata, audio data and close captioning data, etc. Further, thesynchronization data may involve the start of the multimediapresentation, may involve data related to certain portions of themultimedia presentation, or some combination thereof. Furthersynchronization data may be provided to account for interruptions in themultimedia presentation, such as commercials.

First, with respect to image synchronization data, the metadata mayinclude a copy of the image data for the first frame or frames(synchronization frame) of the multimedia presentation or some otherportion of the multimedia presentation or a copy of some portion of thefirst frame of the multimedia presentation. At the start of the video ondemand presentation, each actual frame is compared to thesynchronization frame (operation 280). The same comparison operation mayoccur with other forms of synchronization data (e.g., audio and closecaption). When a match is detected, the filter application may begin atimer or otherwise track the time of the multimedia presentation forpurposes of comparing the time of the multimedia presentation with thestart time codes of the activated filters (operation 290). As such, theVOD presentation may be synchronized with the metadata. When there is amatch between the time of the multimedia presentation and the start timecode of an activated filter, then the appropriate filtering actionoccurs, e.g., skip, mute, crop, etc. (operation 240, FIG. 9 ).

The image data used for comparison may take on various forms. In oneimplementation, the metadata image synchronization data involves some orall of an uncompressed image frame. A frame of uncompressed video datamay include a set of pixels arranged by row and column. The metadataimage synchronization may include some or all of the pixel informationfor a certain frame. For example, the image synchronization may involveselect pixels in a frame, an entire row of image data, or all pixels fora certain frame. Unique frames of video may be identified with referenceto the vertical blanking interval (VBI). The VBI is provided at theboundary between frames of image and audio data; thus, a new framefollows the VBI. As such, after detection of the VBI, appropriate pixelsin a frame are compared to the image synchronization data to synchronizethe metadata with the multimedia presentation.

In another implementation, the metadata image synchronization involvescompressed or encoded image data. For example, the metadata imagesynchronization may involve MPEG encoded data. The encoded imagesynchronization is then compared with the multimedia presentation at apoint before it is decoded for display. Some multimedia is received at aset-top box or other presentation device in an encoded digital form. Fordisplay, the presentation device decodes the multimedia, and in someinstances converts video and audio to analog form in order for displayand sound presentation. The image synchronization data may then bedefined for comparison against the multimedia at a different point inthe processing flow necessary for its presentation.

With uncompressed image synchronization data, to synchronize themetadata with the multimedia presentation, the multimedia presentationis compared with the metadata image synchronization information afterthe multimedia is decoded or uncompressed. Because some forms ofdecompression or decoding may involve some alteration of the originalmultimedia data, typically referred to as “lossy,” the comparison doesnot require an exact match. In a simple example, if the imagesynchronization data is one pixel of information with a value of [R=100,B=100, G=100], then a positive match may include a deviation from any orall values that accounts for possible alterations in the originalmultimedia after decoding or decompression. Thus, a match might be validwith a pixel having a value of [R=100±2, B=100±2, and G=100±2].

Second, with respect to audio synchronization data, the metadata mayinclude a copy of the audio data for the first frame or other frames ofthe (synchronization audio) of the multimedia presentation or a copy orother representation of some portion of the audio for the first frame orframes of the multimedia presentation. At the start of the video ondemand presentation, the audio is compared to the synchronization audio(operation 280). When a match is detected, the filter application maybegin a timer or otherwise track the time of the multimedia presentationfor purposes of comparing the time of the multimedia presentation withthe start time codes of the activated filters (operation 290). As such,the VOD presentation may be synchronized with the metadata. When thereis a match between the time of the multimedia presentation and the starttime code of an activated filter, then the appropriate filtering actionoccurs, e.g., skip, mute, crop, etc. (operation 240, (FIG. 9 ).

As with image data, audio synchronization data may involve uncompressed,compressed and coded digital audio information, or analog audioinformation. For synchronization with uncompressed digitized audio,metadata audio synchronization data may involve a series of digitizedaudio amplitudes that are compared to the actual uncompressed digitalaudio data of the multimedia presentation. For synchronization withcompressed or encoded audio, metadata audio synchronization data mayinvolve some portion of the encoded audio for the multimediapresentation. Audio encoding may include MP3 formats, MPEG format, etc.Thus, the metadata audio synchronization data would include some portionof the MP3, MPEG, etc., audio data that can be compared with the encodedaudio for the multimedia presentation.

Further, for synchronization with compressed or encoded audio, metadataaudio synchronization data may involve some representation of theencoded audio for the multimedia presentation. Audio may be digitizedwith various sampling rates, depending on various factors. For example,some audio is digitized at a sampling rate of 44.1 KHz. It is possibleto “down sample” the audio data to some lesser sampling rate, such asabout 8.0 Khz. For comparison against down-sampled audio data, themetadata audio synchronization data includes down-sampled audio data. Itis possible that metadata audio synchronization data may be developedfor application against multimedia audio data in its original form. Forcomparison against audio data in a down-sampled form, the metadatasynchronization data is appropriately down-sampled as well. Due to therelatively larger file sizes of the original audio data files, it may bemore efficient to down-sample the audio portion of a multimediapresentation for metadata synchronization.

The synchronization audio data may also be a function of the intensityor energy of the digital audio signal. FIG. 10 is a graph of audio datafor a portion of the audio of a multimedia presentation. The graph plotsthree different representations of audio data from a multimediapresentation. First, the graph includes raw digitized audio data 300sampled at 8.0 Khz. The graph further includes a graph of the energy ofthe audio data (310). Finally, the graph includes an energy thresholdgraph (320).

In one example, the energy of the audio signal may be a function of arunning average of discrete digital audio values. For example, a firstenergy value may equal the sum of the first 255 bytes of audio dividedby 256, the second energy value=sum of byte 1 through byte 256 dividedby 256, and so on. The audio synchronization data may thus include audioenergy values or a group of audio energy values. Further, audio energymay be compared with a threshold value to create the energy thresholdgraph. For example, digitized energy values, represented for example asa one byte value, may be compared to a threshold value. In one example,the threshold value is 500. The energy threshold graph has a defaultvalue of 0. An energy value meeting or exceeding the threshold value,changes the state of the energy threshold value, say to 4000 or someother value. When the energy falls below the threshold for some period,the energy threshold graph returns to 0. In one example, when the energysource has a decreasing gradient of 0.75 (−0.75) for 20 samples, thenthe energy threshold graph returns to 0.

In implementations, audio synchronization data may be tailored forcomparison against any of the audio data representations set forth inFIG. 10 , alone or in combination, as well numerous other possible audiorepresentations. For example, audio synchronization data may include oneor a plurality of digitized audio samples, such as 20 consecutivedigital audio values. For synchronization, such audio synchronizationdata would be compared to the sampled audio data. In another example,the audio synchronization data would include a plurality of consecutiveaudio energy values that is compared with the energy of the multimediaaudio signal in order to synchronize the metadata with the multimediapresentation. Finally, in another example, audio synchronization dataincludes some form of energy threshold data, such as a pattern ofexceeded thresholds that is compared with a running threshold graph ofthe multimedia audio.

Third, with respect to close captioning synchronization data, themetadata may include a copy of some portion of the close captioning text(operation 270). The close captioning may conform to the XDS standard.It is also possible to employ other types extended data services data,close captioning data is but one example. The close captioning data maybe embedded in the vertical blanking interval (VBI) or providedelsewhere, such as in a digital television environment. In a digitaltelevision environment, close captioning and other data that could beused in synchronization may conform to the EIA-708, Program and SystemInformation Protocol, and other relevant protocols and standards. At thestart of the video-on-demand presentation, the actual close captioningis compared to the synchronization close captioning data (operation280). When a match is detected, the filter application may begin a timeror otherwise track the time of the multimedia presentation, for purposesof comparing the time of the multimedia presentation with the start timecodes of the activated filters (operation 290). As such, the video ondemand presentation may be synchronized with the metadata. When there isa match between the time of the multimedia presentation and the starttime code of an activated filter, then the appropriate filtering actionoccurs, e.g., skip, mute, crop, etc.

Other metadata audio forms and close caption analysis forms that may beused for synchronization and methods of comparison that may be readilyadapted to synchronization are described in U.S. application Ser. No.10/927,769 titled “Method and Apparatus for Controlling Play of an AudioSignal,” filed on Aug. 26, 2004 (Pub. No. US 2005/0086705), which ishereby incorporated by reference herein. With respect to the variousforms of synchronization data, e.g., video, audio, or close captioning,it is not necessary that the synchronization data be related to thefirst frame of the multimedia presentation or the beginning of themultimedia presentation. For example, as discussed in more detail withrespect to a third implementation, synchronization may occur at a pointwith a known relation to a filter event. Further, varioussynchronization data forms may be combined to define a uniquesynchronization data set or signature that may be readily compared withthe multimedia presentation.

In a third implementation, FIG. 9C provides an example of asynchronization method where synchronization data is part of the filtermetadata and also replaces the filter metadata start and end time codes.Thus, rather than time code information, the filter metadata includes astart and end identifier that may take on the various synchronizationdata types set forth above, as well as others (operation 330). Examplesof start and end identifiers include image data, audio data, closecaptioning data, XDS information, data packets or any other informationor data associated with a specific location in the multimediapresentation. The start and end identifiers, in one particularimplementation, may replace the start and end time code information ofthe metadata type discussed above. As such, the start and endidentifiers are associated with the start and end of some portion of amultimedia presentation. Table 2 set forth below illustrates examples oftwo filters that employ video image data as start and end filteridentifiers.

TABLE 2 Filter Metadata with example of two Filters for the FilmGladiator Start End Filter Filter Identifier Identifier Duration ActionFilter Codes 1 Video Frame Video Frame 997 Skip 2: V-D-D, 1000 image1997 image V-D-G data data 2 Video Frame Video Frame 210 Skip 1: V-D-G3000 image 3210 image data data

Filter 1 includes a start identifier of Video Frame 1000 image data andan end identifier of Video Frame 1997 image data. Thus, the startidentifier includes some or all of the image data for frame 1000 and theend identifier includes some or all of the image data for frame 1997.The filter further indicates that the duration of the skip action is 997frames. If either the V-D-D or VD-G type filters are activated, thenduring play of the multimedia presentation, the filter applicationcompares the image data that has been decoded and is queued for displayagainst the start identifier image data (operation 340). When a match isdetected, the filter application directs the video on demand player tonot display frames 1000 through 1997 (operation 350). Display may beginagain by either comparing against the end identifier, i.e., video frame1997 image data, or counting 997 frames. It should be noted thatoperations 340 and 350 of FIG. 9C involve the application of the filtersto suppress content as set forth in operation 240 of FIG. 9 .

Application of start and end video type synchronization data or othertypes of synchronization data discussed herein may involve initialidentification of the multimedia presentation. Thus, with the example ofTable 1, a filtering application would first identify or be notified ofthe particular multimedia presentation, such as “Gladiator,” and thenwould apply the appropriate metadata. It is also possible that thesynchronization data of the metadata is unique only to one multimediapresentation. For example, the image synchronization data is unique toonly Gladiator and no other multimedia presentation. Depending on memorysize, processing speed, and other factors, an implementation may comparea plurality of sets of filter metadata to any given multimediapresentation, without first identifying the multimedia presentation.Correct filter application occurs based on the global or near globaluniqueness of the identifiers.

Alternatively, the uniqueness of the synchronization data provides foridentification of the multimedia data. In one example, a plurality ofsets of filter metadata are locally stored on a set-top box. At thestart of a presentation of the multimedia, start image synchronizationdata for the various sets of filter metadata are compared to themultimedia presentation. Each set of filter metadata is associated witha particular multimedia presentation; thus, upon identifying a matchbetween filter metadata and a particular presentation, besidessynchronizing the metadata, the match further identifies the multimediapresentation. The remaining presentation of the multimedia may then becompared only with the matched set of filter metadata. Stateddifferently, set of filter metadata for many different VOD presentationscan be loaded into STB memory, and then rather than pre-identifying aparticular VOD presentation and set of metadata, image synchronizationmay occur in real time or near real time in order to apply theappropriate metadata to the VOD being shown. Such an implementation mayalso be applied when moving between different multimedia presentations,such as when channel surfing. A plurality of sets of filter metadata iscompared against the current multimedia presentation, and theappropriate filter is applied against the current multimedia. In such animplementation, a user may be requested to activate certain filter typesthat are applied to whatever multimedia is being presented, provided themultimedia has an available set of filter metadata, as opposed toactivation based on a discrete multimedia presentation.

With the third implementation, timing of the multimedia presentation isoptional. The third implementation is particularly useful if themultimedia presentation includes additional multimedia, such ascommercials, which may unpredictably interrupt the timing of the mainmultimedia presentation. Using start identifier information that isdisassociated with the timing of the multimedia presentation, providesone way for the metadata to be synchronized with the multimediapresentation in a manner to account for interruptions. The thirdimplementation may take advantage of any of the various image, audio,and close captioning metadata synchronization schemes discussed abovewith respect to the second implementation. The synchronization techniquediscussed with respect to the third implementation, as well as variousfacets of other implementations described herein, is applicable tovarious forms of multimedia distribution and playback methods, includingvideo on demand, DVD, pay-per-view, streaming video to a PC, multimediapresented on a hand-held, etc.

The distinction between the second and third implementation, is that theimage, audio, and/or close captioning synchronization metadata in thefirst implementation is used to synchronize the metadata with themultimedia data, but timing information is used for the comparisons,whereas in the third implementation, the image, audio, and/or closecaptioning synchronization metadata is used directly in the comparisonwithout necessarily further use of timing information.

However, multimedia timing information may be used along with the startand end identifier to optimize the synchronization process. In oneimplementation, synchronization start and end identifier data comparisonmay be activated at specific times. For example, upon detecting a matchbetween a start identifier and multimedia data, some filtering actionoccurs. However, rather than continuously comparing the multimedia datawith the end identifier, the filtering application begins comparisonafter some period of time. The comparison begins at a point in timesufficient to detect the point of the multimedia data associated the endidentifier. In yet another possible implementation, no end identifier isnecessary. The filtering application, upon detecting a match between thestart identifier and some portion of multimedia data, activates asuppression action for some set period of time, which may be identifiedby a timer, by number of frames, by number of presentation time stamps(described in further detail below), or any other means to sufficientlyidentify a relative offset in the multimedia based on the identificationof a discrete location in the multimedia through comparison to a startidentifier.

In a fourth implementation set forth in Fig. D, one or more flags orother identifiers are provided in the video on demand data file(operation 360). The identifier is placed at a known location relativeto the metadata position information. Thus, the filtered playbackapplication may monitor the video on demand data file for the presenceof the identifier. With respect to filter metadata with filters having astart and end time identification, a flag may be placed in the video ondemand data file at the beginning of the multimedia presentation inorder to synchronize the metadata with the multimedia data. Filteringactions are then based on timing from the identification of the flag(operation 370). Alternatively, metadata filters may each include aunique start flag. The video on demand multimedia data then includesembedded flags associated with various types of content. As thefiltering application compares the multimedia data with the metadata,filtering actions occur when a flag in the multimedia data matches acorresponding start flag identifier for a filter in the filter metadata.A filtering action, in one example, may end after a specified time.Alternatively, filter metadata may also include unique end flagidentifiers, and the corresponding multimedia presentation furtherinclude end flags associated with particular start flags. A filteringaction thus begins upon matching a corresponding start flag identifierwith a flag in the multimedia and ends by matching an end flagidentifier with a flag in the multimedia.

For relative timing information for a VOD multimedia presentation,implementations of the present invention may track MPEG presentationtimestamp (PTS) information. Further, in yet another possibleimplementation, filter metadata may include PTS information as start andend filter identifiers, either alone or in conjunction with other startand/or end identifier synchronization data.

In various implementations discussed herein, it may be necessary toaccount for interruptions in the multimedia presentation. For example,in a digital video recorder STB type environment or any otherenvironment that provides the user with the ability to fast forward,rewind, or the like, synchronization may involve accounting for suchinterruptions. If the filter application is tracking timing as part offilter synchronization, then some implementations adjust the relativetiming to account for interruptions. For example, fast forward may occurat known rates, such as two times (2×) playback speed, five times (5×)playback speed, etc. Since the fast forward rate is known, the timeclock can be synchronized with the fast forwarding action. Pausing,rewinding, stopping, and other actions can be synchronized similarly.

While the disclosed embodiments are described in specific terms, otherembodiments encompassing principles of the invention are also possible.Further, operations may be set forth in a particular order. The order,however, is but one example of the way that operations may be provided.Operations may be rearranged, modified, or eliminated in any particularimplementation while still conforming to aspects of the invention.Embodiments within the scope of the present invention also includecomputer readable media for carrying or having computer-executableinstructions or data structures stored thereon. Such computer-readablemedia may be any available media that can be accessed by a generalpurpose or special purpose computer. By way of example, and notlimitation, such computer-readable media can comprise RAM, ROM, EEPROM,DVD, CD ROM or other optical disk storage, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tocarry or store desired program code means in the form ofcomputer-executable instructions or data structures and which can beaccessed by a general purpose or special purpose computer. Wheninformation is transferred or provided over a network or anothercommunications link or connection (either hardwired, wireless, or acombination of hardwired or wireless) to a computer, the computerproperly views the connection as a computer-readable medium. Thus, anysuch a connection is properly termed a computer-readable medium.Combinations of the above should also be included within the scope ofcomputer-readable media. Computer-executable instructions comprise, forexample, instructions and data which cause a general purpose computer,special purpose computer, or special purpose processing device toperform a certain function or group of functions.

The term content server set forth herein should be construed broadly toinclude a server as well as any related storage and other processingconfiguration involved in serving content. In a cable system andsimilarly in a satellite system, the content server would include avideo-on-demand server and possibly related system equipment.

Those skilled in the art will appreciate that aspects of the inventionmay be practiced in network computing environments with many types ofcomputer system configurations, including personal computers, lap topcomputers, hand-held devices, multi-processor systems, microprocessorbased or programmable consumer electronics, network PCs, minicomputers,mainframe computers, and the like. Various embodiments discussed hereinincluding embodiments involving a satellite or cable signal delivered toa set-top box, television system processor, or the like, as well asdigital data signals delivered to some form of multimedia processingconfiguration, such as employed for IPTV, or other similarconfigurations can be considered as within a network computingenvironment. Further, wirelessly connected cell phones, a type ofhand-held device, are considered as within a network computingenvironment. For example, cell phones include a processor, memory,display, and some form of wireless connection, whether digital oranalog, and some form of input medium, such as a keyboards, touchscreens, etc. Hand-held computing platforms can also include video ondemand type of selection ability. Examples of wireless connectiontechnologies applicable in various mobile embodiments include, but arenot limited to, radio frequency, AM, FM, cellular, television,satellite, microwave, WiFi, blue-tooth, infrared, and the like.Hand-held computing platforms do not necessarily require a wirelessconnection. For example, a hand-held device may access multimedia fromsome form of memory, which may include both integrated memory (e.g.,RAM, Flash, etc.) as well as removable memory (e.g., optical storagemedia, memory sticks, flash memory cards, etc.) for playback on thedevice. Aspects of the invention may also be practiced in distributedcomputing environments where tasks are performed by local and remoteprocessing devices that are linked (either by hardwired links, wirelesslinks, or by a combination of hardwired or wireless links) through acommunications network. In a distributed computing environment, programmodules may be located in both local and remote memory storage devices.

Other filter technologies configured to allow filtered playback of amovie or other multimedia presentation are described in U.S. applicationSer. No. 09/694,873 titled “ Multimedia Content Navigation and Playback”filed on Oct. 23, 2000, now U.S. Pat. No. 6,898,799, which issued May24, 2005, and U.S. application Ser. No. 09/695,102 titled “Delivery ofNavigation Data for Playback of Audio and Video Content” filed on Oct.23, 2000, now U.S. Pat. No. 6,889,383 which issued May 3, 2005, whichare each incorporated by reference herein.

The various methods set forth herein are applicable to filtering visualcontent from the multimedia by skipping the multimedia content duringthe presentation of the content. Each of the solutions can also beconfigured to filter only audio content by muting the audio on eitherthe server side or the set-top box (STB) side. The audio filtering takesplace on whichever side the filtering metadata is accessible. The mutingcan be triggered by synchronizing the playback location with thefiltering metadata (i.e. at playback location A, mute the audio untilplayback location B). Moreover, the various forms of contentsuppression, whether skipping, muting, blurring and cropping, may beimplemented on the server or client side. Finally, the terms server andclient are not meant to be strictly limited a client-server environment,but are meant to more generally refer to an arrangement where content isprovided from a computing apparatus at a remote location to a devicelocated at a user location. The transmission of content from the remotelocation to the device may involve the Internet or other computernetwork configuration, cable systems, satellite systems, and wirelesssystems, whether or alone in combination.

What is claimed is:
 1. A method for applying multimedia content filterdata with a multimedia content presentation comprising: receiving filterdata comprising: at least one filter identifying a portion of amultimedia content presentation having, the at least one filterassociated with a type of content suppression of the portion of themultimedia content presentation; and synchronization informationcomprising an identifier of a position within the multimedia contentpresentation; matching an attribute of the multimedia contentpresentation with the identifier of the synchronization information;determining, based on the matched attribute with the identifier, aposition of the portion of the multimedia content presentation; andsuppressing, based on the at least one filter, a presentation of theportion of the multimedia content presentation.
 2. The method of claim 1wherein the identifier of the synchronization information is at leastone of image data, audio data, and close caption data.
 3. The method ofclaim 1 wherein the identifier of the synchronization information is atleast two of image data, audio data, and close caption data.
 4. Themethod of claim 1 further comprising: obtaining the synchronizationinformation from a content server to synchronize the at least one filterwith the portion of the multimedia content presentation.
 5. The methodof claim 1 further comprising: providing for transmission of themultimedia content presentation from a remote content server to a clientdevice.
 6. The method of claim 1 further comprising: providing forreading of the multimedia content presentation from a removable storagemedia.
 7. The method of claim 1 wherein the identifier comprisescompressed data corresponding to the attribute of the multimedia contentpresentation.
 8. The method of claim 1 further comprising: decoding anencoded portion of the multimedia content presentation prior to matchingthe attribute of the multimedia content presentation with the identifierof the synchronization information.
 9. The method of claim 1 whereindetermining the position of the portion of the multimedia contentpresentation comprises: determining a time lapse between a position ofthe matched attribute of the multimedia content presentation to theportion of a multimedia content presentation of the filter data.
 10. Themethod of claim 1 wherein the identifier comprises at least one of aplurality of pixels of a frame of the multimedia content presentation, arow of pixels of the frame of the multimedia content presentation, orthe entirety of the pixels of the frame of the multimedia contentpresentation.
 11. The method of claim 1 wherein the portion of themultimedia content comprises objectionable content.
 12. The method ofclaim 1 wherein the portion of the multimedia content comprises acommercial.
 13. The method of claim 1 wherein suppressing thepresentation of the portion of the multimedia content presentationcomprises at least one of a skipping, blurring, and muting action of theportion of the multimedia content presentation.
 14. A system forapplying multimedia content filter data with a multimedia contentpresentation, the system comprising: a processing device; and anon-transitory computer-readable medium encoded with instructions, whenexecuted by the processing device, cause the processing device toperform the operations of: receiving filter data comprising at least onefilter identifying a portion of a multimedia content presentation, theat least one filter associated with a type of content suppression of theportion of the multimedia content presentation and synchronizationinformation comprising an identifier of a position within the multimediacontent presentation; matching an attribute of the multimedia contentpresentation with the identifier of the synchronization information;determining, based on the matched attribute with the identifier, aposition of the portion of the multimedia content presentation; andsuppressing, based on the at least one filter, a presentation of theportion of the multimedia content presentation.
 15. The system of claim14 wherein the identifier of the synchronization information is at leastone of image data, audio data, and close caption data.
 16. The system ofclaim 14 wherein the identifier of the synchronization information is atleast two of image data, audio data, and close caption data.
 17. Thesystem of claim 14 wherein the instructions further cause the processingdevice to perform the operation of: obtaining the synchronizationinformation from a content server to synchronize the at least one filterwith the portion of the multimedia content presentation.
 18. The systemof claim 14 wherein the instructions further cause the processing deviceto perform the operation of: providing for transmission of themultimedia content presentation from a remote content server to a clientdevice.
 19. The system of claim 14 wherein the instructions furthercause the processing device to perform the operation of: providing forreading of the multimedia content presentation from a removable storagemedia.
 20. The system of claim 14 wherein the identifier comprisescompressed data corresponding to the attribute of the multimedia contentpresentation.
 21. The system of claim 14 wherein the instructionsfurther cause the processing device to perform the operation of:decoding an encoded portion of the multimedia content presentation priorto matching the attribute of the multimedia content presentation withthe identifier of the synchronization information.
 22. The system ofclaim 14 wherein determining the position of the portion of themultimedia content presentation comprises: determining a time lapsebetween a position of the matched attribute of the multimedia contentpresentation to the portion of the multimedia content presentation. 23.The system of claim 14 wherein the identifier comprises at least one ofa plurality of pixels of a frame of the multimedia content presentation,a row of pixels of the frame of the multimedia content presentation, orthe entirety of the pixels of the frame of the multimedia contentpresentation.
 24. The system of claim 14 wherein the portion of themultimedia content comprises objectionable content.
 25. The system ofclaim 14 wherein the portion of the multimedia content comprises acommercial.
 26. The system of claim 14 wherein suppressing thepresentation of the portion of the multimedia content presentationcomprises at least one of a skipping, blurring, and muting action of theportion of the multimedia content presentation.